fix(parent): les faits difficiles comptent aussi les erreurs des révisions bonus - #70
Merged
Merged
Conversation
…sions bonus Le taux de bonnes réponses d'une séance (correctCount/questionsCount) inclut les révisions bonus, mais getHardestFacts comptait les erreurs depuis fact.history — où les révisions bonus ne sont jamais écrites (pas de changement Leitner, cf. App.tsx isBonusReview). Résultat : des séances visiblement < 100 % au graphe, mais presque aucune erreur dans « Faits les plus difficiles » — précisément parce que les révisions bonus ciblent les faits les plus fragiles, donc les plus ratés. Le comptage se fait désormais depuis les logs par-question de sessionHistory (même source que le graphe), sur exactement les N dernières séances, révisions bonus comprises. Repli sur l'ancien comptage fact.history pour les profils dont aucune séance de la fenêtre n'a de log (séances antérieures à la feature). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N4MSPVG36Eg7ezX13FD7qZ
Contributor
|
Preview supprimée (PR fermée). Les URLs ne sont plus accessibles. |
isc
marked this pull request as ready for review
July 21, 2026 10:29
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problème
Dans l'espace parent, le graphe « Taux de bonnes réponses » montrait plusieurs séances < 100 % sur les 10 dernières séances, mais la section « Faits les plus difficiles » (« Sur les 10 dernières séances ») ne remontait quasiment aucune erreur.
Cause
Les deux affichages ne lisaient pas la même source :
sessionHistory(correctCount/questionsCount), qui compte toutes les questions, révisions bonus comprises.getHardestFactscomptait les erreurs depuisfact.history— or les révisions bonus ne passent pas parprocessAnswer(App.tsx:if (item.isBonusReview) return;) et ne sont donc jamais écrites dansfact.history.Comme les révisions bonus ciblent en priorité les faits les plus fragiles (boîte 1 d'abord), ce sont précisément les erreurs les plus probables qui disparaissaient de la liste.
Fix
getHardestFactscompte désormais les erreurs depuis les logs par-question desessionHistory[].questions— la même source que le graphe — sur exactement les N dernières séances, révisions bonus incluses. Le fix est rétroactif : les logs existent depuis juin 2026, les données déjà en localStorage s'affichent donc correctement dès la mise à jour.Repli sur l'ancien comptage
fact.history(avec cutoff de date) pour les profils dont aucune séance de la fenêtre n'a de log (séances antérieures à la feature), pour ne pas vider la section chez eux.Aussi
src/__tests__/hardestFacts.test.ts(6 cas : erreurs bonus, fenêtre, cumul/tri, mapping divisiona=diviseur, b=quotient, limit/exclusion des 0 erreur, repli legacy).tsc -bOK, 217 tests passent.🤖 Generated with Claude Code
https://claude.ai/code/session_01N4MSPVG36Eg7ezX13FD7qZ
Generated by Claude Code